www.gusucode.com > VC++ 仿SQLServer企业管理器的SQL客户端工具-源码程序 > VC++ 仿SQLServer企业管理器的SQL客户端工具-源码程序/code/outputCon.cpp
#include "stdafx.h" #include "outputCon.h" // Download by http://www.NewXing.com FILE* __fStdOut = NULL; HANDLE __hStdOut = NULL; void endConsoleWin(void) { if(__hStdOut) FreeConsole(); if(__fStdOut) fclose(__fStdOut); } void startConsoleWin(int width, int height, char* fname) {//创建一个Console窗口,指明宽度和高度,如果fname不为空则同时将输出写入一个文件。 __fStdOut=NULL; __hStdOut=NULL; AllocConsole();//分配 SetConsoleTitle("Debug/Output Window"); __hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);//指明句柄为标准输出HANDLE COORD co = {width,height}; SetConsoleScreenBufferSize(__hStdOut, co);//指明缓冲区大小 if(fname) __fStdOut = fopen(fname, "w"); } // Use wprintf like TRACE0, TRACE1, ... (The arguments are the same as printf) int debugCon_wprintf(char *fmt, ...) {//类似于printf的函数,向Console写入文本 char s[1024*30]; va_list argptr; int cnt; va_start(argptr, fmt); cnt = vsprintf(s, fmt, argptr); va_end(argptr); DWORD cCharsWritten; if(__hStdOut)// 写Console WriteConsole(__hStdOut, s, strlen(s), &cCharsWritten, NULL); if(__fStdOut) fprintf(__fStdOut, s); return(cnt); }